home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / dviware / quicspool / libqmsquery / qms.h < prev    next >
C/C++ Source or Header  |  1990-10-01  |  7KB  |  187 lines

  1. /* $Header: qms.h,v 1.1 88/01/15 12:18:55 simpson Rel $ */
  2. /*
  3. $Log:    qms.h,v $
  4.  * Revision 1.1  88/01/15  12:18:55  simpson
  5.  * initial release
  6.  * 
  7.  * Revision 0.1  87/12/11  17:11:57  simpson
  8.  * beta test
  9.  * 
  10. */
  11. #define    QUICON        "\r^PY^-\r"    /* QUIC Conversion On */
  12. #define    QUICOFF        "\r^-^PN^-\r"    /* QUIC Conversion Off */
  13. #define PORTRAIT    "^IOP"        /* Portrait mode */
  14. #define LANDSCAPE    "^IOL"        /* Landscape mode */
  15. #define COMMAND        "^N"        /* Change command character */
  16. #define SYNTAX        "^ISYNTAX"    /* Set syntax of numeric parameters */
  17. #define    FREEFORM    "^F"        /* Begin free-form input */
  18. #define    FREEOFF        "^O"        /* End free-form input */
  19. #define IGNOREDATA    "^X"        /* Ignore subsequent input */
  20. #define ENDIGNORE    "^A"        /* Stop ignoring data */
  21. #define    INITIALIZE    "^IF"        /* Select tray, offset page length */
  22. #define STATUS        "^ISTATUS"    /* Print status page */
  23. #define SPECIAL        "^$"        /* Enter special characters */
  24. #define INITJUST    "^IJ"        /* Default top page margin */
  25. #define INITBOTTOM    "^IB"        /* Default bottom page margin */
  26. #define INITTAB        "^IT"        /* Default left page margin */
  27. #define JUSTIFY        "^J"        /* Vertical positioning */
  28. #define JUSTIFYMARGIN    "^JM"        /* Vertical positioning from margin */
  29. #define JUSTIFYRELATIVE    "^JR"        /* Relative vertical positioning */
  30. #define JUSTIFYDOTS    "^JD"        /* Relative vertical in dots */
  31. #define TAB        "^T"        /* Horizontal positioning */
  32. #define TABRELATIVE    "^TR"        /* Relative horizontal positioning */
  33. #define TABDOTS        "^TD"        /* Relative horizontal in dots */
  34. #define INITMARGVERT    "^IMV"        /* Default vertical margins */
  35. #define INITMARGHORZ    "^IMH"        /* Default horizontal margins */
  36. #define DEFFONT        "^IS"        /* Default font select */
  37. #define FONT        "^S"        /* Select font */
  38. #define CHARSPACING    "^IC"        /* Character spacing */
  39. #define LINESPACING    "^IL"        /* Line spacing */
  40. #define DOWNLOAD    "^DF"        /* Download font */
  41. #define ADOWNLOAD    "^DFA"        /* Advanced download font */
  42. #define QUICCHAR    "^M"        /* Quic characters */
  43. #define VERTQUIC    "^V"        /* Vertical Quic characters */
  44. #define LEFTVERTQUIC    "^E"        /* Left vertical Quic characters */
  45. #define INVERTQUIC    "^U"        /* Upside down Quic characters */
  46. #define DESCENDER    "^DL"        /* Lower case descenders on */
  47. #define HALFTONE    "^KH"        /* Half tone */
  48. #define HALFTONESELECT    "^KL"        /* Select a half tone */
  49. #define REVERSE        "^R"        /* Reverse image */
  50. #define LINE        "^LS"        /* Line drawing */
  51. #define DASHEDLINE    "^LD"        /* Dashed lines */
  52. #define HORLINEPLOT    "^LP"        /* Horizontal line plotting */
  53. #define VERTLINEPLOT    "^LQ"        /* Vertical line plotting */
  54. #define ARC        "^LA"        /* Arc drawing */
  55. #define DECIMALARC    "^LAD"        /* Decimal arc drawing */
  56. #define BOX        "^LB"        /* Box drawing */
  57. #define FORM        "^LF"        /* Form drawing */
  58. #define HORFORM        "^LE"        /* Horizontal form drawing */
  59. #define PLOT        "^P"        /* Plotting */
  60. #define PATTVEC        "^PV"        /* Pattern vector */
  61. #define PLOTEXPAND    "^IP"        /* Plot expansion */
  62. #define PENWIDTH    "^PW"        /* Pen width */
  63. #define PENUP        "^U"        /* Pen up */
  64. #define PENDOWN        "^D"        /* Pen down */
  65. #define PENERASE    "^E"        /* Pen erase */
  66. #define VECTORON    "^IGV"        /* Vector graphics on */
  67. #define VECTOROFF    "^IGE"        /* Vector graphics off */
  68. #define BARCHART    "^BAR"        /* Bar chart drawing */
  69. #define PIECHART    "^LAP"        /* Pie chart drawing */
  70. #define AREAFILL    "^LAF"        /* Area fill */
  71. #define REPEAT        "^DR"        /* Repeat command */
  72. #define AUTOINCDEC    "^Y"        /* Automatic increment/decrement */
  73. #define INFO        "^INFO"        /* Get information from printer */
  74. #define COPIES        "^DC"        /* Number of page copies */
  75. #define STOREOVERLAY    "^DOS"        /* Store an overlay sequence */
  76. #define RECALLOVERLAY    "^DOR"        /* Recall an overlay sequence */
  77. #define CLEAROVERLAY    "^DOC"        /* Clear an overlay sequence */
  78. #define AUTOOVERLAY    "^DAOS"        /* Define an automatic overlay */
  79. #define CLEARAOVERLAY    "^DAOC"        /* Clear an automatic overlay */
  80. #define HORBARCODE    "^B"        /* Horizontal barcodes */
  81. #define VERTBARCODE    "^C"        /* Vertical barcodes */
  82. #define DIABLO        "^IWD"        /* Enable diablo simulation */
  83. #define QUME        "^IWQ"        /* Enable QUME simulation */
  84. #define EXITSIMULATE    "^IWE"        /* Exit simulation mode */
  85. #define PCONFIG        "^ICFG"        /* Printer configuration */
  86. #define TEXTPROC    "^ISTF"        /* Text processing command */
  87. #define EIGHTBITON    "^("        /* Turn on eight bit format */
  88. #define EIGHTBITOFF    "^)"        /* Turn off eight bit format */
  89.  
  90. #define ENDPASS        "^-"        /* End pass */
  91. #define    NEWLINE        "^*"        /* End pass, new line */
  92. #define    FORMFEED    "^,"        /* End pass, form feed */
  93. #define    ENDCMD        "^G"        /* Command terminator */
  94. #define HEIGHT        "^H"        /* Quic character height */
  95. #define WIDTH        "^W"        /* Quic character width */
  96.  
  97. /* Structure returned when requesting MAP info */
  98. struct qmsmap {
  99.     int     count;      /* Byte count */
  100.     int     checksum;
  101.     char    *data;      /* "count" bytes of data terminated by NULL */
  102.     struct qmsmap *next;
  103. };
  104.  
  105. /* Structure returned when requesting PAG info */
  106. struct qmspag {
  107.     char    PO;     /* Orientation. 'P' or 'L' */
  108.     float   TM;     /* Top margin */
  109.     float   BM;     /* Bottom margin */
  110.     float   LM;     /* Left margin */
  111.     float   RM;     /* Right margin */
  112.     float   LPI;    /* Lines per inch */
  113.     float   CPI;    /* Characters per inch. 0 == Proportional */
  114.     short   PT;     /* Paper Tray. 0 == Top tray. 1 == Bottom Tray */
  115.     short   PS;     /* Page Size. 0 == Short. 1 == Long. 2 == European A-4 */
  116.     char    SO;     /* Stacker Offset. 'Y' or 'N' */
  117.     short   CC;     /* Copy Count */
  118. };
  119.  
  120. /* Structure returned when requesting OVL info */
  121. struct qmsovl {
  122.     enum { regular, automatic } ovltype;
  123.     /* The number and size are only valid for regular overlays */
  124.     int ovlnumber;  /* Overlay number */
  125.     int ovlsize;    /* Overlay size in bytes */
  126.     struct qmsovl   *next;
  127. };
  128.  
  129. /* Structure returned when requesting PFP info */
  130. struct qmspfp {
  131.     char    *module;    /* Name of installed module */
  132.     struct qmspfp   *next;
  133. };
  134.  
  135. /* Structure returned when requesting OPC info */
  136. struct qmsopc {
  137.     struct optnode  *OC1, *OC2, *OC3, *OC4, *OC5;
  138. };
  139.  
  140. struct optnode {
  141.     short   option;     /* Number of option */
  142.     struct optnode  *next;
  143. };
  144.  
  145. /* Structure returned when requesting RAM info */
  146. struct qmsram {
  147.     short   TR;         /* Total Ram memory in printer */
  148.     short   AR;         /* Current Available Ram memory */
  149.     short   FR;         /* Font Ram memory used */
  150.     short   OR;         /* Overlay Ram memory used */
  151. };
  152.  
  153. /* Structure returned when requesting FNTB info */
  154. struct qmsfnt {
  155.     struct fontnode *rom;   /* List of rom fonts */
  156.     struct fontnode *ram;   /* List of ram fonts */
  157. };
  158.  
  159. struct fontnode {
  160.     char    orientation;    /* 'P' or 'L' */
  161.     short   number;         /* Font number */
  162.     long    bytes;          /* Number of bytes in printer */
  163.     char    version;
  164.     char    class;          /* '1' or '2' */
  165.     struct fontnode *next;
  166. };
  167.  
  168. /* Structure returned when requesting version information */
  169. struct qmsver {
  170.     float   version;        /* Version of QUIC */
  171.     float   firmware;        /* Version of the firmware */
  172.     struct date {        /* Date of the firmware */
  173.     short    month;
  174.     short    day;
  175.     short    year;        /* Without the 1900 */
  176.     } date;
  177. };
  178.  
  179. struct qmsmap    *qmsmap();
  180. struct qmspag    *qmspag();
  181. struct qmsovl    *qmsovl();
  182. struct qmspfp    *qmspfp();
  183. struct qmsopc    *qmsopc();
  184. struct qmsram    *qmsram();
  185. struct qmsfnt    *qmsfnt();
  186. struct qmsver    *qmsver();
  187.